Eigene Klassen-Interfaces in .NET

Die Implementierung der in .NET enthaltenen Interfaces erlaubt es einem, eigene Klassen mit standardisierten Funktionen zu versehen, wie sie von anderen Entwicklern erwartet werden.

Im vorangegangenen Artikel habe ich Klassen-Interfaces vorgestellt und sie mit abstrakten Basis-Klassen verglichen. Ich habe außerdem die wichtigsten .NET-Interfaces beschrieben und eine Klasse erstellt, die das IComparable-Interface implementiert.

Nun wird es Zeit, ein wenig tiefer in die Materie einzutauchen und eine eigene Klasse zu erstellen. Das Erstellen eigener Klassen ermöglicht es Ihnen, Best Practices durchzusetzen und Ihre Entwicklungsbemühungen zu vereinheitlichen. Lassen Sie uns einen Blick auf die Klasse werfen, die ich das vorige Mal erstellt habe. Dann werden wir uns ansehen, was man beim Erstellen einer eigenen Klasse beachten muss. Der komplette Code zu diesem Artikel kann hier heruntergeladen werden.

Zur Wiederholung

Die Dinosaurier-Klasse implementiert das IComparable-Interface (wie man in der Klassen-Deklaration sehen kann):


Das IComparable-Interface verlangt, dass zu implementierende Klassen eine CompareTo-Methode enthalten. Das habe ich recht schlicht umgesetzt und der Klasse einfach einen String-Vergleich mit dem Namen der Klassen-Instanz verpasst:


Listing A zeigt die ganze Dinosaurier-Klasse in ihrem derzeitigen Stadium.

Außerdem laufen da noch einige abgeleitete Dinosaurier-Klassen herum, wie Listing B zeigt.

Da die abgeleiteten Klassen alle IComparable implementieren – über die vererbte Dinosaurier-Klasse -, können sie in einem Array sortiert werden (Listing C) und in einer ListBox in alphabetischer Reihenfolge angezeigt werden, wie in Abbildung A zu sehen.

Abbildung A
Abbildung A

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Eigene Klassen-Interfaces in .NET

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *